package com.faxsun.payment.service.gateway;

import javax.annotation.Resource;

import org.broadleafcommerce.common.payment.service.PaymentGatewayConfiguration;
import org.broadleafcommerce.common.payment.service.PaymentGatewayConfigurationService;
import org.broadleafcommerce.common.payment.service.PaymentGatewayCreditCardService;
import org.broadleafcommerce.common.payment.service.PaymentGatewayCustomerService;
import org.broadleafcommerce.common.payment.service.PaymentGatewayFraudService;
import org.broadleafcommerce.common.payment.service.PaymentGatewayHostedService;
import org.broadleafcommerce.common.payment.service.PaymentGatewayReportingService;
import org.broadleafcommerce.common.payment.service.PaymentGatewayRollbackService;
import org.broadleafcommerce.common.payment.service.PaymentGatewaySubscriptionService;
import org.broadleafcommerce.common.payment.service.PaymentGatewayTransactionConfirmationService;
import org.broadleafcommerce.common.payment.service.PaymentGatewayTransactionService;
import org.broadleafcommerce.common.payment.service.PaymentGatewayTransparentRedirectService;
import org.broadleafcommerce.common.payment.service.PaymentGatewayWebResponseService;
import org.broadleafcommerce.common.web.payment.expression.PaymentGatewayFieldExtensionHandler;
import org.broadleafcommerce.common.web.payment.processor.CreditCardTypesExtensionHandler;
import org.broadleafcommerce.common.web.payment.processor.TRCreditCardExtensionHandler;
import org.springframework.stereotype.Service;

@Service("fsPaySSSHostedConfigurationService")
public class PaySSSHostedConfigurationService implements PaymentGatewayConfigurationService {

	@Resource(name = "fsPaySSSHostedConfiguration")
	protected PaymentGatewayHostedConfiguration configuration;
	
//    @Resource(name = "blNullPaymentGatewayHostedRollbackService")
//    protected PaymentGatewayRollbackService rollbackService;

    @Resource(name = "fsPaySSSHostedService")
    protected PaymentGatewayHostedService hostedService;

//    @Resource(name = "blNullPaymentGatewayHostedTransactionConfirmationService")
//    protected PaymentGatewayTransactionConfirmationService transactionConfirmationService;

//    @Resource(name = "blNullPaymentGatewayHostedWebResponseService")
//    protected PaymentGatewayWebResponseService webResponseService;
	
	@Override
	public PaymentGatewayConfiguration getConfiguration() {
		return configuration;
	}

	@Override
	public PaymentGatewayTransactionService getTransactionService() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public PaymentGatewayTransactionConfirmationService getTransactionConfirmationService() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public PaymentGatewayReportingService getReportingService() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public PaymentGatewayCreditCardService getCreditCardService() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public PaymentGatewayCustomerService getCustomerService() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public PaymentGatewaySubscriptionService getSubscriptionService() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public PaymentGatewayFraudService getFraudService() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public PaymentGatewayHostedService getHostedService() {
		return hostedService;
	}

	@Override
	public PaymentGatewayRollbackService getRollbackService() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public PaymentGatewayWebResponseService getWebResponseService() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public PaymentGatewayTransparentRedirectService getTransparentRedirectService() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public TRCreditCardExtensionHandler getCreditCardExtensionHandler() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public PaymentGatewayFieldExtensionHandler getFieldExtensionHandler() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public CreditCardTypesExtensionHandler getCreditCardTypesExtensionHandler() {
		// TODO Auto-generated method stub
		return null;
	}

}
